home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-01-24 | 11.6 KB | 590 lines | [TEXT/MPS ] |
- ;
- ; File: Resources.a
- ;
- ; Contains: Resource Manager Interfaces.
- ;
- ; Version: Technology: System 7.5
- ; Package: Universal Interfaces 2.2 in “MPW” on ETO #20
- ;
- ; Copyright: © 1984-1995 by Apple Computer, Inc.
- ; All rights reserved.
- ;
- ; Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- ; stack. Include the file and version information (from above)
- ; in the problem description and send to:
- ; Internet: apple.bugs@applelink.apple.com
- ; AppleLink: APPLE.BUGS
- ;
- ;
-
- IF &TYPE('__RESOURCES__') = 'UNDEFINED' THEN
- __RESOURCES__ SET 1
-
-
- IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
- include 'Types.a'
- ENDIF
- ; include 'ConditionalMacros.a' ;
-
- IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
- include 'MixedMode.a'
- ENDIF
-
- IF &TYPE('__FILES__') = 'UNDEFINED' THEN
- include 'Files.a'
- ENDIF
- ; include 'OSUtils.a' ;
- ; include 'Memory.a' ;
- ; include 'Finder.a' ;
-
- resSysHeap EQU 64 ;System or application heap?
- resPurgeable EQU 32 ;Purgeable resource?
- resLocked EQU 16 ;Load it in locked?
- resProtected EQU 8 ;Protected?
- resPreload EQU 4 ;Load in on OpenResFile?
- resChanged EQU 2 ;Resource changed?
- mapReadOnly EQU 128 ;Resource file read-only
- mapCompact EQU 64 ;Compact resource file
- mapChanged EQU 32 ;Write map out at update
- resSysRefBit EQU 7 ;reference to system/local reference
- resSysHeapBit EQU 6 ;In system/in application heap
- resPurgeableBit EQU 5 ;Purgeable/not purgeable
- resLockedBit EQU 4 ;Locked/not locked
- resProtectedBit EQU 3 ;Protected/not protected
- resPreloadBit EQU 2 ;Read in at OpenResource?
- resChangedBit EQU 1 ;Existing resource changed since last update
- mapReadOnlyBit EQU 7 ;is this file read-only?
- mapCompactBit EQU 6 ;Is a compact necessary?
- mapChangedBit EQU 5 ;Is it necessary to write map?
- kResFileNotOpened EQU -1 ;ref num return as error when opening a resource file
- kSystemResFile EQU 0 ;this is the default ref num to the system file
-
- ;
- ; pascal short InitResources(void)
- ;
- IF ¬ GENERATINGCFM THEN
- _InitResources: OPWORD $A995
- ELSE
- IMPORT_CFM_FUNCTION InitResources
- ENDIF
-
- ;
- ; pascal void RsrcZoneInit(void)
- ;
- IF ¬ GENERATINGCFM THEN
- _RsrcZoneInit: OPWORD $A996
- ELSE
- IMPORT_CFM_FUNCTION RsrcZoneInit
- ENDIF
-
- ;
- ; pascal void CloseResFile(short refNum)
- ;
- IF ¬ GENERATINGCFM THEN
- _CloseResFile: OPWORD $A99A
- ELSE
- IMPORT_CFM_FUNCTION CloseResFile
- ENDIF
-
- ;
- ; pascal short ResError(void)
- ;
- IF ¬ GENERATINGCFM THEN
- _ResError: OPWORD $A9AF
- ELSE
- IMPORT_CFM_FUNCTION ResError
- ENDIF
-
- ;
- ; pascal short CurResFile(void)
- ;
- IF ¬ GENERATINGCFM THEN
- _CurResFile: OPWORD $A994
- ELSE
- IMPORT_CFM_FUNCTION CurResFile
- ENDIF
-
- ;
- ; pascal short HomeResFile(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _HomeResFile: OPWORD $A9A4
- ELSE
- IMPORT_CFM_FUNCTION HomeResFile
- ENDIF
-
- ;
- ; pascal void CreateResFile(ConstStr255Param fileName)
- ;
- IF ¬ GENERATINGCFM THEN
- _CreateResFile: OPWORD $A9B1
- ELSE
- IMPORT_CFM_FUNCTION CreateResFile
- ENDIF
-
- ;
- ; pascal short OpenResFile(ConstStr255Param fileName)
- ;
- IF ¬ GENERATINGCFM THEN
- _OpenResFile: OPWORD $A997
- ELSE
- IMPORT_CFM_FUNCTION OpenResFile
- ENDIF
-
- ;
- ; pascal void UseResFile(short refNum)
- ;
- IF ¬ GENERATINGCFM THEN
- _UseResFile: OPWORD $A998
- ELSE
- IMPORT_CFM_FUNCTION UseResFile
- ENDIF
-
- ;
- ; pascal short CountTypes(void)
- ;
- IF ¬ GENERATINGCFM THEN
- _CountTypes: OPWORD $A99E
- ELSE
- IMPORT_CFM_FUNCTION CountTypes
- ENDIF
-
- ;
- ; pascal short Count1Types(void)
- ;
- IF ¬ GENERATINGCFM THEN
- _Count1Types: OPWORD $A81C
- ELSE
- IMPORT_CFM_FUNCTION Count1Types
- ENDIF
-
- ;
- ; pascal void GetIndType(ResType *theType, short index)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetIndType: OPWORD $A99F
- ELSE
- IMPORT_CFM_FUNCTION GetIndType
- ENDIF
-
- ;
- ; pascal void Get1IndType(ResType *theType, short index)
- ;
- IF ¬ GENERATINGCFM THEN
- _Get1IndType: OPWORD $A80F
- ELSE
- IMPORT_CFM_FUNCTION Get1IndType
- ENDIF
-
- ;
- ; pascal void SetResLoad(Boolean load)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetResLoad: OPWORD $A99B
- ELSE
- IMPORT_CFM_FUNCTION SetResLoad
- ENDIF
-
- ;
- ; pascal short CountResources(ResType theType)
- ;
- IF ¬ GENERATINGCFM THEN
- _CountResources: OPWORD $A99C
- ELSE
- IMPORT_CFM_FUNCTION CountResources
- ENDIF
-
- ;
- ; pascal short Count1Resources(ResType theType)
- ;
- IF ¬ GENERATINGCFM THEN
- _Count1Resources: OPWORD $A80D
- ELSE
- IMPORT_CFM_FUNCTION Count1Resources
- ENDIF
-
- ;
- ; pascal Handle GetIndResource(ResType theType, short index)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetIndResource: OPWORD $A99D
- ELSE
- IMPORT_CFM_FUNCTION GetIndResource
- ENDIF
-
- ;
- ; pascal Handle Get1IndResource(ResType theType, short index)
- ;
- IF ¬ GENERATINGCFM THEN
- _Get1IndResource: OPWORD $A80E
- ELSE
- IMPORT_CFM_FUNCTION Get1IndResource
- ENDIF
-
- ;
- ; pascal Handle GetResource(ResType theType, short theID)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetResource: OPWORD $A9A0
- ELSE
- IMPORT_CFM_FUNCTION GetResource
- ENDIF
-
- ;
- ; pascal Handle Get1Resource(ResType theType, short theID)
- ;
- IF ¬ GENERATINGCFM THEN
- _Get1Resource: OPWORD $A81F
- ELSE
- IMPORT_CFM_FUNCTION Get1Resource
- ENDIF
-
- ;
- ; pascal Handle GetNamedResource(ResType theType, ConstStr255Param name)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetNamedResource: OPWORD $A9A1
- ELSE
- IMPORT_CFM_FUNCTION GetNamedResource
- ENDIF
-
- ;
- ; pascal Handle Get1NamedResource(ResType theType, ConstStr255Param name)
- ;
- IF ¬ GENERATINGCFM THEN
- _Get1NamedResource: OPWORD $A820
- ELSE
- IMPORT_CFM_FUNCTION Get1NamedResource
- ENDIF
-
- ;
- ; pascal void LoadResource(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _LoadResource: OPWORD $A9A2
- ELSE
- IMPORT_CFM_FUNCTION LoadResource
- ENDIF
-
- ;
- ; pascal void ReleaseResource(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _ReleaseResource: OPWORD $A9A3
- ELSE
- IMPORT_CFM_FUNCTION ReleaseResource
- ENDIF
-
- ;
- ; pascal void DetachResource(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _DetachResource: OPWORD $A992
- ELSE
- IMPORT_CFM_FUNCTION DetachResource
- ENDIF
-
- ;
- ; pascal short UniqueID(ResType theType)
- ;
- IF ¬ GENERATINGCFM THEN
- _UniqueID: OPWORD $A9C1
- ELSE
- IMPORT_CFM_FUNCTION UniqueID
- ENDIF
-
- ;
- ; pascal short Unique1ID(ResType theType)
- ;
- IF ¬ GENERATINGCFM THEN
- _Unique1ID: OPWORD $A810
- ELSE
- IMPORT_CFM_FUNCTION Unique1ID
- ENDIF
-
- ;
- ; pascal short GetResAttrs(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetResAttrs: OPWORD $A9A6
- ELSE
- IMPORT_CFM_FUNCTION GetResAttrs
- ENDIF
-
- ;
- ; pascal void GetResInfo(Handle theResource, short *theID, ResType *theType, Str255 name)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetResInfo: OPWORD $A9A8
- ELSE
- IMPORT_CFM_FUNCTION GetResInfo
- ENDIF
-
- ;
- ; pascal void SetResInfo(Handle theResource, short theID, ConstStr255Param name)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetResInfo: OPWORD $A9A9
- ELSE
- IMPORT_CFM_FUNCTION SetResInfo
- ENDIF
-
- ;
- ; pascal void AddResource(Handle theData, ResType theType, short theID, ConstStr255Param name)
- ;
- IF ¬ GENERATINGCFM THEN
- _AddResource: OPWORD $A9AB
- ELSE
- IMPORT_CFM_FUNCTION AddResource
- ENDIF
-
- ;
- ; pascal long GetResourceSizeOnDisk(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetResourceSizeOnDisk: OPWORD $A9A5
- ELSE
- IMPORT_CFM_FUNCTION GetResourceSizeOnDisk
- ENDIF
-
- ;
- ; pascal long GetMaxResourceSize(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetMaxResourceSize: OPWORD $A821
- ELSE
- IMPORT_CFM_FUNCTION GetMaxResourceSize
- ENDIF
-
- ;
- ; pascal long RsrcMapEntry(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _RsrcMapEntry: OPWORD $A9C5
- ELSE
- IMPORT_CFM_FUNCTION RsrcMapEntry
- ENDIF
-
- ;
- ; pascal void SetResAttrs(Handle theResource, short attrs)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetResAttrs: OPWORD $A9A7
- ELSE
- IMPORT_CFM_FUNCTION SetResAttrs
- ENDIF
-
- ;
- ; pascal void ChangedResource(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _ChangedResource: OPWORD $A9AA
- ELSE
- IMPORT_CFM_FUNCTION ChangedResource
- ENDIF
-
- ;
- ; pascal void RemoveResource(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _RemoveResource: OPWORD $A9AD
- ELSE
- IMPORT_CFM_FUNCTION RemoveResource
- ENDIF
-
- ;
- ; pascal void UpdateResFile(short refNum)
- ;
- IF ¬ GENERATINGCFM THEN
- _UpdateResFile: OPWORD $A999
- ELSE
- IMPORT_CFM_FUNCTION UpdateResFile
- ENDIF
-
- ;
- ; pascal void WriteResource(Handle theResource)
- ;
- IF ¬ GENERATINGCFM THEN
- _WriteResource: OPWORD $A9B0
- ELSE
- IMPORT_CFM_FUNCTION WriteResource
- ENDIF
-
- ;
- ; pascal void SetResPurge(Boolean install)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetResPurge: OPWORD $A993
- ELSE
- IMPORT_CFM_FUNCTION SetResPurge
- ENDIF
-
- ;
- ; pascal short GetResFileAttrs(short refNum)
- ;
- IF ¬ GENERATINGCFM THEN
- _GetResFileAttrs: OPWORD $A9F6
- ELSE
- IMPORT_CFM_FUNCTION GetResFileAttrs
- ENDIF
-
- ;
- ; pascal void SetResFileAttrs(short refNum, short attrs)
- ;
- IF ¬ GENERATINGCFM THEN
- _SetResFileAttrs: OPWORD $A9F7
- ELSE
- IMPORT_CFM_FUNCTION SetResFileAttrs
- ENDIF
-
- ;
- ; pascal short OpenRFPerm(ConstStr255Param fileName, short vRefNum, SInt8 permission)
- ;
- IF ¬ GENERATINGCFM THEN
- _OpenRFPerm: OPWORD $A9C4
- ELSE
- IMPORT_CFM_FUNCTION OpenRFPerm
- ENDIF
-
- ;
- ; pascal Handle RGetResource(ResType theType, short theID)
- ;
- IF ¬ GENERATINGCFM THEN
- _RGetResource: OPWORD $A80C
- ELSE
- IMPORT_CFM_FUNCTION RGetResource
- ENDIF
-
- IF SystemSevenOrLater THEN
- ;
- ; pascal short HOpenResFile(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission)
- ;
- IF ¬ GENERATINGCFM THEN
- _HOpenResFile: OPWORD $A81A
- ELSE
- IMPORT_CFM_FUNCTION HOpenResFile
- ENDIF
-
- ELSE
- ;
- ; pascal short HOpenResFile(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission)
- ;
- IF GENERATINGCFM THEN
- IMPORT_CFM_FUNCTION HOpenResFile
- ENDIF
-
- ENDIF
- IF SystemSevenOrLater THEN
- ;
- ; pascal void HCreateResFile(short vRefNum, long dirID, ConstStr255Param fileName)
- ;
- IF ¬ GENERATINGCFM THEN
- _HCreateResFile: OPWORD $A81B
- ELSE
- IMPORT_CFM_FUNCTION HCreateResFile
- ENDIF
-
- ELSE
- ;
- ; pascal void HCreateResFile(short vRefNum, long dirID, ConstStr255Param fileName)
- ;
- IF GENERATINGCFM THEN
- IMPORT_CFM_FUNCTION HCreateResFile
- ENDIF
-
- ENDIF
- ;
- ; pascal short FSpOpenResFile(const FSSpec *spec, SignedByte permission)
- ;
- IF ¬ GENERATINGCFM THEN
- Macro
- _FSpOpenResFile
- moveq #13,d0
- dc.w $AA52
- EndM
- ELSE
- IMPORT_CFM_FUNCTION FSpOpenResFile
- ENDIF
-
- ;
- ; pascal void FSpCreateResFile(const FSSpec *spec, OSType creator, OSType fileType, ScriptCode scriptTag)
- ;
- IF ¬ GENERATINGCFM THEN
- Macro
- _FSpCreateResFile
- moveq #14,d0
- dc.w $AA52
- EndM
- ELSE
- IMPORT_CFM_FUNCTION FSpCreateResFile
- ENDIF
-
- ; partial resource calls
- ;
- ; pascal void ReadPartialResource(Handle theResource, long offset, void *buffer, long count)
- ;
- IF ¬ GENERATINGCFM THEN
- Macro
- _ReadPartialResource
- moveq #1,d0
- dc.w $A822
- EndM
- ELSE
- IMPORT_CFM_FUNCTION ReadPartialResource
- ENDIF
-
- ;
- ; pascal void WritePartialResource(Handle theResource, long offset, const void *buffer, long count)
- ;
- IF ¬ GENERATINGCFM THEN
- Macro
- _WritePartialResource
- moveq #2,d0
- dc.w $A822
- EndM
- ELSE
- IMPORT_CFM_FUNCTION WritePartialResource
- ENDIF
-
- ;
- ; pascal void SetResourceSize(Handle theResource, long newSize)
- ;
- IF ¬ GENERATINGCFM THEN
- Macro
- _SetResourceSize
- moveq #3,d0
- dc.w $A822
- EndM
- ELSE
- IMPORT_CFM_FUNCTION SetResourceSize
- ENDIF
-
- ;
- ; pascal Handle GetNextFOND(Handle fondHandle)
- ;
- IF ¬ GENERATINGCFM THEN
- Macro
- _GetNextFOND
- moveq #10,d0
- dc.w $A822
- EndM
- ELSE
- IMPORT_CFM_FUNCTION GetNextFOND
- ENDIF
-
- ; Use TempInsertROMMap to force the ROM resource map to be
- ; inserted into the chain in front of the system. Note that
- ; this call is only temporary - the modified resource chain
- ; is only used for the next call to the resource manager.
- ; See IM IV 19 for more information.
- ;
- ; pascal void TempInsertROMMap(Boolean tempResLoad)
- ;
- IF GENERATINGCFM THEN
- IMPORT_CFM_FUNCTION TempInsertROMMap
- ENDIF
-
- IF OLDROUTINENAMES THEN
- ENDIF
- ENDIF ; __RESOURCES__
-